'''
   page 是str
   etree.HTML(page) 将str 转成一个xpath使用的类型 【lxml.etree._Element】
   如果需要再次将他转str 需要xml
'''
from lxml import etree
from xml.etree import ElementTree

page = open('豆瓣250.html', 'r', encoding='utf-8').read()

html = etree.HTML(page)

# html 这个是转不了的 但下面的标签是可以转的

data_list = html.xpath("//ol/li")

# 注意encoding 可以不写，不确定是时候就写吧
# encoding='utf-8' 是可以写gbk，但是上面gbk转下面用gbk解码
tostr = ElementTree.tostring(data_list[0], encoding='utf-8')
print(f'tostr的类型是:{type(tostr)}')
print('所以tostr要解码 中文转码或解码用utf-8或gbk,怎么转就怎么解码')
str_ = tostr.decode(encoding='utf-8')
print('\n'*3, str_)